// vite.config.js
import { defineConfig, loadEnv } from "file:///Users/a1-6/Desktop/code/internet-hospital-backstage/node_modules/.pnpm/vite@5.3.2_@types+node@22.9.0_sass@1.77.5_terser@5.36.0/node_modules/vite/dist/node/index.js";
import path2 from "path";

// vite/plugins/index.js
import vue from "file:///Users/a1-6/Desktop/code/internet-hospital-backstage/node_modules/.pnpm/@vitejs+plugin-vue@5.0.5_vite@5.3.2_@types+node@22.9.0_sass@1.77.5_terser@5.36.0__vue@3.4.31/node_modules/@vitejs/plugin-vue/dist/index.mjs";

// vite/plugins/auto-import.js
import autoImport from "file:///Users/a1-6/Desktop/code/internet-hospital-backstage/node_modules/.pnpm/unplugin-auto-import@0.17.6_@vueuse+core@10.11.0_vue@3.4.31__rollup@2.79.2/node_modules/unplugin-auto-import/dist/vite.js";
function createAutoImport() {
  return autoImport({
    imports: [
      "vue",
      "vue-router",
      "pinia"
    ],
    dts: false
  });
}

// vite/plugins/svg-icon.js
import { createSvgIconsPlugin } from "file:///Users/a1-6/Desktop/code/internet-hospital-backstage/node_modules/.pnpm/vite-plugin-svg-icons@2.0.1_vite@5.3.2_@types+node@22.9.0_sass@1.77.5_terser@5.36.0_/node_modules/vite-plugin-svg-icons/dist/index.mjs";
import path from "path";
function createSvgIcon(isBuild) {
  return createSvgIconsPlugin({
    iconDirs: [path.resolve(process.cwd(), "src/assets/icons/svg")],
    symbolId: "icon-[dir]-[name]",
    svgoOptions: isBuild
  });
}

// vite/plugins/compression.js
import compression from "file:///Users/a1-6/Desktop/code/internet-hospital-backstage/node_modules/.pnpm/vite-plugin-compression@0.5.1_vite@5.3.2_@types+node@22.9.0_sass@1.77.5_terser@5.36.0_/node_modules/vite-plugin-compression/dist/index.mjs";
function createCompression(env) {
  const { VITE_BUILD_COMPRESS } = env;
  const plugin = [];
  if (VITE_BUILD_COMPRESS) {
    const compressList = VITE_BUILD_COMPRESS.split(",");
    if (compressList.includes("gzip")) {
      plugin.push(
        compression({
          ext: ".gz",
          deleteOriginFile: false
        })
      );
    }
    if (compressList.includes("brotli")) {
      plugin.push(
        compression({
          ext: ".br",
          algorithm: "brotliCompress",
          deleteOriginFile: false
        })
      );
    }
  }
  return plugin;
}

// vite/plugins/setup-extend.js
import setupExtend from "file:///Users/a1-6/Desktop/code/internet-hospital-backstage/node_modules/.pnpm/unplugin-vue-setup-extend-plus@1.0.1/node_modules/unplugin-vue-setup-extend-plus/dist/vite.js";
function createSetupExtend() {
  return setupExtend({});
}

// vite/plugins/index.js
function createVitePlugins(viteEnv, isBuild = false) {
  const vitePlugins = [vue()];
  vitePlugins.push(createAutoImport());
  vitePlugins.push(createSetupExtend());
  vitePlugins.push(createSvgIcon(isBuild));
  isBuild && vitePlugins.push(...createCompression(viteEnv));
  return vitePlugins;
}

// vite.config.js
import { createHtmlPlugin } from "file:///Users/a1-6/Desktop/code/internet-hospital-backstage/node_modules/.pnpm/vite-plugin-html@3.2.2_vite@5.3.2_@types+node@22.9.0_sass@1.77.5_terser@5.36.0_/node_modules/vite-plugin-html/dist/index.mjs";
import vueDevTools from "file:///Users/a1-6/Desktop/code/internet-hospital-backstage/node_modules/.pnpm/vite-plugin-vue-devtools@7.6.8_rollup@2.79.2_vite@5.3.2_@types+node@22.9.0_sass@1.77.5_terser@5.36.0__vue@3.4.31/node_modules/vite-plugin-vue-devtools/dist/vite.mjs";
import UnoCSS from "file:///Users/a1-6/Desktop/code/internet-hospital-backstage/node_modules/.pnpm/unocss@0.64.0_postcss@5.2.18_rollup@2.79.2_vite@5.3.2_@types+node@22.9.0_sass@1.77.5_terser@5.36.0__vue@3.4.31/node_modules/unocss/dist/vite.mjs";
var __vite_injected_original_dirname = "/Users/a1-6/Desktop/code/internet-hospital-backstage";
var vite_config_default = defineConfig(({ mode, command }) => {
  const env = loadEnv(mode, process.cwd());
  const { VITE_APP_ENV } = env;
  return {
    // 部署生产环境和开发环境下的URL。
    // 默认情况下，vite 会假设你的应用是被部署在一个域名的根路径上
    // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上，你就需要用这个选项指定这个子路径。例如，如果你的应用被部署在 https://www.ruoyi.vip/admin/，则设置 baseUrl 为 /admin/。
    base: VITE_APP_ENV === "production" ? "/" : "/",
    // base: '/base',
    plugins: [
      vueDevTools(),
      createHtmlPlugin({}),
      createVitePlugins(env, command === "build"),
      UnoCSS()
      // VitePWA({
      //   manifest: {
      //     name: '沃伦特瑞后台',
      //     short_name: '沃伦特瑞',
      //     id: 'cs001',
      //     start_url: ".",
      //     description: '沃伦特瑞后台管理系统',
      //     theme_color: '#182330',
      //     icons: [//添加图标， 注意路径和图像像素正确
      //       {
      //         src: 'http://fulefan.asia/profile/system/%E6%B2%83%E4%BC%A6%E7%89%B9%E7%91%9E.png',
      //         // public下
      //         sizes: '512x512',//icon大小要与实际icon大小一致
      //         type: 'image/png',
      //         // form_factor: "handset",
      //       },
      //     ]
      //   },
      //   registerType: 'autoUpdate',
      //   workbox: {
      //     globPatterns: ['**/*.{js,css,html,ico,png,jpg,svg}'],//缓存相关静态资源
      //     runtimeCaching: [// 配置自定义运行时缓存
      //       mode !== 'production'
      //         ? {
      //           urlPattern: ({ url }) => url.origin === 'https://app-api-0.com',
      //           handler: 'NetworkFirst',
      //           options: {
      //             cacheName: 'wisbayar-api',
      //             cacheableResponse: {
      //               statuses: [200]
      //             }
      //           }
      //         }
      //         : {
      //           urlPattern: ({ url }) => url.origin === 'https://app-api.id',
      //           handler: 'NetworkFirst',
      //           options: {
      //             cacheName: 'wisbayar-api',
      //             cacheableResponse: {
      //               statuses: [200]
      //             }
      //           }
      //         },
      //       {
      //         urlPattern: /\.(?:png|jpg|jpeg|svg)$/,
      //         handler: 'CacheFirst',
      //         options: {
      //           cacheName: 'wisbayar-images',
      //           expiration: {
      //             // 最多30个图
      //             maxEntries: 30
      //           }
      //         }
      //       },
      //       {
      //         urlPattern: /.*\.js.*/,
      //         handler: 'StaleWhileRevalidate',
      //         options: {
      //           cacheName: 'wisbayar-js',
      //           expiration: {
      //             maxEntries: 30, // 最多缓存30个，超过的按照LRU原则删除
      //             maxAgeSeconds: 30 * 24 * 60 * 60
      //           },
      //           cacheableResponse: {
      //             statuses: [200]
      //           }
      //         }
      //       },
      //       {
      //         urlPattern: /.*\.css.*/,
      //         handler: 'StaleWhileRevalidate',
      //         options: {
      //           cacheName: 'wisbayar-css',
      //           expiration: {
      //             maxEntries: 20,
      //             maxAgeSeconds: 30 * 24 * 60 * 60
      //           },
      //           cacheableResponse: {
      //             statuses: [200]
      //           }
      //         }
      //       },
      //       {
      //         urlPattern: /.*\.html.*/,
      //         handler: 'StaleWhileRevalidate',
      //         options: {
      //           cacheName: 'wisbayar-html',
      //           expiration: {
      //             maxEntries: 20,
      //             maxAgeSeconds: 30 * 24 * 60 * 60
      //           },
      //           cacheableResponse: {
      //             statuses: [200]
      //           }
      //         }
      //       }
      //     ]
      //   },
      //   devOptions: {
      //     enabled: true
      //   }
      // }),
    ],
    resolve: {
      // https://cn.vitejs.dev/config/#resolve-alias
      alias: {
        // 设置路径
        "~": path2.resolve(__vite_injected_original_dirname, "./"),
        // 设置别名
        "@": path2.resolve(__vite_injected_original_dirname, "./src"),
        "@plugins": path2.resolve(__vite_injected_original_dirname, "./src/plugins"),
        "@router": path2.resolve(__vite_injected_original_dirname, "./src/router")
      },
      // https://cn.vitejs.dev/config/#resolve-extensions
      extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"]
    },
    // vite 相关配置
    server: {
      port: 80,
      host: true,
      open: true,
      proxy: {
        // https://cn.vitejs.dev/config/#server-proxy
        "/dev-api": {
          target: "http://localhost:8080",
          changeOrigin: true,
          rewrite: (p) => p.replace(/^\/dev-api/, "")
        }
      }
    },
    //fix:error:stdin>:7356:1: warning: "@charset" must be the first rule in the file
    css: {
      // 解决scss 报错
      preprocessorOptions: {
        scss: {
          silenceDeprecations: ["legacy-js-api"]
        }
      },
      // 
      postcss: {
        plugins: [
          {
            postcssPlugin: "internal:charset-removal",
            AtRule: {
              charset: (atRule) => {
                if (atRule.name === "charset") {
                  atRule.remove();
                }
              }
            }
          }
        ]
      }
    }
  };
});
export {
  vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiLCAidml0ZS9wbHVnaW5zL2luZGV4LmpzIiwgInZpdGUvcGx1Z2lucy9hdXRvLWltcG9ydC5qcyIsICJ2aXRlL3BsdWdpbnMvc3ZnLWljb24uanMiLCAidml0ZS9wbHVnaW5zL2NvbXByZXNzaW9uLmpzIiwgInZpdGUvcGx1Z2lucy9zZXR1cC1leHRlbmQuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvYTEtNi9EZXNrdG9wL2NvZGUvaW50ZXJuZXQtaG9zcGl0YWwtYmFja3N0YWdlXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvYTEtNi9EZXNrdG9wL2NvZGUvaW50ZXJuZXQtaG9zcGl0YWwtYmFja3N0YWdlL3ZpdGUuY29uZmlnLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9hMS02L0Rlc2t0b3AvY29kZS9pbnRlcm5ldC1ob3NwaXRhbC1iYWNrc3RhZ2Uvdml0ZS5jb25maWcuanNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcsIGxvYWRFbnYgfSBmcm9tICd2aXRlJ1xyXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xyXG5pbXBvcnQgY3JlYXRlVml0ZVBsdWdpbnMgZnJvbSAnLi92aXRlL3BsdWdpbnMnXHJcblxyXG5cclxuaW1wb3J0IHsgY3JlYXRlSHRtbFBsdWdpbiB9IGZyb20gJ3ZpdGUtcGx1Z2luLWh0bWwnXHJcbmltcG9ydCB2dWVEZXZUb29scyBmcm9tICd2aXRlLXBsdWdpbi12dWUtZGV2dG9vbHMnXHJcblxyXG5pbXBvcnQgVW5vQ1NTIGZyb20gJ3Vub2Nzcy92aXRlJ1xyXG5cclxuXHJcbi8vIGltcG9ydCB7IFZpdGVQV0EgfSBmcm9tICd2aXRlLXBsdWdpbi1wd2EnXHJcblxyXG5cclxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cclxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKCh7IG1vZGUsIGNvbW1hbmQgfSkgPT4ge1xyXG4gIGNvbnN0IGVudiA9IGxvYWRFbnYobW9kZSwgcHJvY2Vzcy5jd2QoKSlcclxuICBjb25zdCB7IFZJVEVfQVBQX0VOViB9ID0gZW52XHJcbiAgcmV0dXJuIHtcclxuICAgIC8vIFx1OTBFOFx1N0Y3Mlx1NzUxRlx1NEVBN1x1NzNBRlx1NTg4M1x1NTQ4Q1x1NUYwMFx1NTNEMVx1NzNBRlx1NTg4M1x1NEUwQlx1NzY4NFVSTFx1MzAwMlxyXG4gICAgLy8gXHU5RUQ4XHU4QkE0XHU2MEM1XHU1MUI1XHU0RTBCXHVGRjBDdml0ZSBcdTRGMUFcdTUwNDdcdThCQkVcdTRGNjBcdTc2ODRcdTVFOTRcdTc1MjhcdTY2MkZcdTg4QUJcdTkwRThcdTdGNzJcdTU3MjhcdTRFMDBcdTRFMkFcdTU3REZcdTU0MERcdTc2ODRcdTY4MzlcdThERUZcdTVGODRcdTRFMEFcclxuICAgIC8vIFx1NEY4Qlx1NTk4MiBodHRwczovL3d3dy5ydW95aS52aXAvXHUzMDAyXHU1OTgyXHU2NzlDXHU1RTk0XHU3NTI4XHU4OEFCXHU5MEU4XHU3RjcyXHU1NzI4XHU0RTAwXHU0RTJBXHU1QjUwXHU4REVGXHU1Rjg0XHU0RTBBXHVGRjBDXHU0RjYwXHU1QzMxXHU5NzAwXHU4OTgxXHU3NTI4XHU4RkQ5XHU0RTJBXHU5MDA5XHU5ODc5XHU2MzA3XHU1QjlBXHU4RkQ5XHU0RTJBXHU1QjUwXHU4REVGXHU1Rjg0XHUzMDAyXHU0RjhCXHU1OTgyXHVGRjBDXHU1OTgyXHU2NzlDXHU0RjYwXHU3Njg0XHU1RTk0XHU3NTI4XHU4OEFCXHU5MEU4XHU3RjcyXHU1NzI4IGh0dHBzOi8vd3d3LnJ1b3lpLnZpcC9hZG1pbi9cdUZGMENcdTUyMTlcdThCQkVcdTdGNkUgYmFzZVVybCBcdTRFM0EgL2FkbWluL1x1MzAwMlxyXG4gICAgYmFzZTogVklURV9BUFBfRU5WID09PSAncHJvZHVjdGlvbicgPyAnLycgOiAnLycsXHJcbiAgICAvLyBiYXNlOiAnL2Jhc2UnLFxyXG5cclxuICAgIHBsdWdpbnM6IFtcclxuICAgICAgdnVlRGV2VG9vbHMoKSxcclxuICAgICAgY3JlYXRlSHRtbFBsdWdpbih7fSksXHJcbiAgICAgIGNyZWF0ZVZpdGVQbHVnaW5zKGVudiwgY29tbWFuZCA9PT0gJ2J1aWxkJyksXHJcbiAgICAgIFVub0NTUygpLFxyXG4gICAgICAvLyBWaXRlUFdBKHtcclxuICAgICAgLy8gICBtYW5pZmVzdDoge1xyXG4gICAgICAvLyAgICAgbmFtZTogJ1x1NkM4M1x1NEYyNlx1NzI3OVx1NzQ1RVx1NTQwRVx1NTNGMCcsXHJcbiAgICAgIC8vICAgICBzaG9ydF9uYW1lOiAnXHU2QzgzXHU0RjI2XHU3Mjc5XHU3NDVFJyxcclxuICAgICAgLy8gICAgIGlkOiAnY3MwMDEnLFxyXG4gICAgICAvLyAgICAgc3RhcnRfdXJsOiBcIi5cIixcclxuICAgICAgLy8gICAgIGRlc2NyaXB0aW9uOiAnXHU2QzgzXHU0RjI2XHU3Mjc5XHU3NDVFXHU1NDBFXHU1M0YwXHU3QkExXHU3NDA2XHU3Q0ZCXHU3RURGJyxcclxuICAgICAgLy8gICAgIHRoZW1lX2NvbG9yOiAnIzE4MjMzMCcsXHJcbiAgICAgIC8vICAgICBpY29uczogWy8vXHU2REZCXHU1MkEwXHU1NkZFXHU2ODA3XHVGRjBDIFx1NkNFOFx1NjEwRlx1OERFRlx1NUY4NFx1NTQ4Q1x1NTZGRVx1NTBDRlx1NTBDRlx1N0QyMFx1NkI2M1x1Nzg2RVxyXG4gICAgICAvLyAgICAgICB7XHJcbiAgICAgIC8vICAgICAgICAgc3JjOiAnaHR0cDovL2Z1bGVmYW4uYXNpYS9wcm9maWxlL3N5c3RlbS8lRTYlQjIlODMlRTQlQkMlQTYlRTclODklQjklRTclOTElOUUucG5nJyxcclxuICAgICAgLy8gICAgICAgICAvLyBwdWJsaWNcdTRFMEJcclxuICAgICAgLy8gICAgICAgICBzaXplczogJzUxMng1MTInLC8vaWNvblx1NTkyN1x1NUMwRlx1ODk4MVx1NEUwRVx1NUI5RVx1OTY0NWljb25cdTU5MjdcdTVDMEZcdTRFMDBcdTgxRjRcclxuICAgICAgLy8gICAgICAgICB0eXBlOiAnaW1hZ2UvcG5nJyxcclxuICAgICAgLy8gICAgICAgICAvLyBmb3JtX2ZhY3RvcjogXCJoYW5kc2V0XCIsXHJcbiAgICAgIC8vICAgICAgIH0sXHJcbiAgICAgIC8vICAgICBdXHJcbiAgICAgIC8vICAgfSxcclxuICAgICAgLy8gICByZWdpc3RlclR5cGU6ICdhdXRvVXBkYXRlJyxcclxuICAgICAgLy8gICB3b3JrYm94OiB7XHJcbiAgICAgIC8vICAgICBnbG9iUGF0dGVybnM6IFsnKiovKi57anMsY3NzLGh0bWwsaWNvLHBuZyxqcGcsc3ZnfSddLC8vXHU3RjEzXHU1QjU4XHU3NkY4XHU1MTczXHU5NzU5XHU2MDAxXHU4RDQ0XHU2RTkwXHJcbiAgICAgIC8vICAgICBydW50aW1lQ2FjaGluZzogWy8vIFx1OTE0RFx1N0Y2RVx1ODFFQVx1NUI5QVx1NEU0OVx1OEZEMFx1ODg0Q1x1NjVGNlx1N0YxM1x1NUI1OFxyXG4gICAgICAvLyAgICAgICBtb2RlICE9PSAncHJvZHVjdGlvbidcclxuICAgICAgLy8gICAgICAgICA/IHtcclxuICAgICAgLy8gICAgICAgICAgIHVybFBhdHRlcm46ICh7IHVybCB9KSA9PiB1cmwub3JpZ2luID09PSAnaHR0cHM6Ly9hcHAtYXBpLTAuY29tJyxcclxuICAgICAgLy8gICAgICAgICAgIGhhbmRsZXI6ICdOZXR3b3JrRmlyc3QnLFxyXG4gICAgICAvLyAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAvLyAgICAgICAgICAgICBjYWNoZU5hbWU6ICd3aXNiYXlhci1hcGknLFxyXG4gICAgICAvLyAgICAgICAgICAgICBjYWNoZWFibGVSZXNwb25zZToge1xyXG4gICAgICAvLyAgICAgICAgICAgICAgIHN0YXR1c2VzOiBbMjAwXVxyXG4gICAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAgIC8vICAgICAgICAgICB9XHJcbiAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAvLyAgICAgICAgIDoge1xyXG4gICAgICAvLyAgICAgICAgICAgdXJsUGF0dGVybjogKHsgdXJsIH0pID0+IHVybC5vcmlnaW4gPT09ICdodHRwczovL2FwcC1hcGkuaWQnLFxyXG4gICAgICAvLyAgICAgICAgICAgaGFuZGxlcjogJ05ldHdvcmtGaXJzdCcsXHJcbiAgICAgIC8vICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgIC8vICAgICAgICAgICAgIGNhY2hlTmFtZTogJ3dpc2JheWFyLWFwaScsXHJcbiAgICAgIC8vICAgICAgICAgICAgIGNhY2hlYWJsZVJlc3BvbnNlOiB7XHJcbiAgICAgIC8vICAgICAgICAgICAgICAgc3RhdHVzZXM6IFsyMDBdXHJcbiAgICAgIC8vICAgICAgICAgICAgIH1cclxuICAgICAgLy8gICAgICAgICAgIH1cclxuICAgICAgLy8gICAgICAgICB9LFxyXG4gICAgICAvLyAgICAgICB7XHJcbiAgICAgIC8vICAgICAgICAgdXJsUGF0dGVybjogL1xcLig/OnBuZ3xqcGd8anBlZ3xzdmcpJC8sXHJcbiAgICAgIC8vICAgICAgICAgaGFuZGxlcjogJ0NhY2hlRmlyc3QnLFxyXG4gICAgICAvLyAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgLy8gICAgICAgICAgIGNhY2hlTmFtZTogJ3dpc2JheWFyLWltYWdlcycsXHJcbiAgICAgIC8vICAgICAgICAgICBleHBpcmF0aW9uOiB7XHJcbiAgICAgIC8vICAgICAgICAgICAgIC8vIFx1NjcwMFx1NTkxQTMwXHU0RTJBXHU1NkZFXHJcbiAgICAgIC8vICAgICAgICAgICAgIG1heEVudHJpZXM6IDMwXHJcbiAgICAgIC8vICAgICAgICAgICB9XHJcbiAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAvLyAgICAgICB9LFxyXG4gICAgICAvLyAgICAgICB7XHJcbiAgICAgIC8vICAgICAgICAgdXJsUGF0dGVybjogLy4qXFwuanMuKi8sXHJcbiAgICAgIC8vICAgICAgICAgaGFuZGxlcjogJ1N0YWxlV2hpbGVSZXZhbGlkYXRlJyxcclxuICAgICAgLy8gICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgIC8vICAgICAgICAgICBjYWNoZU5hbWU6ICd3aXNiYXlhci1qcycsXHJcbiAgICAgIC8vICAgICAgICAgICBleHBpcmF0aW9uOiB7XHJcbiAgICAgIC8vICAgICAgICAgICAgIG1heEVudHJpZXM6IDMwLCAvLyBcdTY3MDBcdTU5MUFcdTdGMTNcdTVCNTgzMFx1NEUyQVx1RkYwQ1x1OEQ4NVx1OEZDN1x1NzY4NFx1NjMwOVx1NzE2N0xSVVx1NTM5Rlx1NTIxOVx1NTIyMFx1OTY2NFxyXG4gICAgICAvLyAgICAgICAgICAgICBtYXhBZ2VTZWNvbmRzOiAzMCAqIDI0ICogNjAgKiA2MFxyXG4gICAgICAvLyAgICAgICAgICAgfSxcclxuICAgICAgLy8gICAgICAgICAgIGNhY2hlYWJsZVJlc3BvbnNlOiB7XHJcbiAgICAgIC8vICAgICAgICAgICAgIHN0YXR1c2VzOiBbMjAwXVxyXG4gICAgICAvLyAgICAgICAgICAgfVxyXG4gICAgICAvLyAgICAgICAgIH1cclxuICAgICAgLy8gICAgICAgfSxcclxuICAgICAgLy8gICAgICAge1xyXG4gICAgICAvLyAgICAgICAgIHVybFBhdHRlcm46IC8uKlxcLmNzcy4qLyxcclxuICAgICAgLy8gICAgICAgICBoYW5kbGVyOiAnU3RhbGVXaGlsZVJldmFsaWRhdGUnLFxyXG4gICAgICAvLyAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgLy8gICAgICAgICAgIGNhY2hlTmFtZTogJ3dpc2JheWFyLWNzcycsXHJcbiAgICAgIC8vICAgICAgICAgICBleHBpcmF0aW9uOiB7XHJcbiAgICAgIC8vICAgICAgICAgICAgIG1heEVudHJpZXM6IDIwLFxyXG4gICAgICAvLyAgICAgICAgICAgICBtYXhBZ2VTZWNvbmRzOiAzMCAqIDI0ICogNjAgKiA2MFxyXG4gICAgICAvLyAgICAgICAgICAgfSxcclxuICAgICAgLy8gICAgICAgICAgIGNhY2hlYWJsZVJlc3BvbnNlOiB7XHJcbiAgICAgIC8vICAgICAgICAgICAgIHN0YXR1c2VzOiBbMjAwXVxyXG4gICAgICAvLyAgICAgICAgICAgfVxyXG4gICAgICAvLyAgICAgICAgIH1cclxuICAgICAgLy8gICAgICAgfSxcclxuICAgICAgLy8gICAgICAge1xyXG4gICAgICAvLyAgICAgICAgIHVybFBhdHRlcm46IC8uKlxcLmh0bWwuKi8sXHJcbiAgICAgIC8vICAgICAgICAgaGFuZGxlcjogJ1N0YWxlV2hpbGVSZXZhbGlkYXRlJyxcclxuICAgICAgLy8gICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgIC8vICAgICAgICAgICBjYWNoZU5hbWU6ICd3aXNiYXlhci1odG1sJyxcclxuICAgICAgLy8gICAgICAgICAgIGV4cGlyYXRpb246IHtcclxuICAgICAgLy8gICAgICAgICAgICAgbWF4RW50cmllczogMjAsXHJcbiAgICAgIC8vICAgICAgICAgICAgIG1heEFnZVNlY29uZHM6IDMwICogMjQgKiA2MCAqIDYwXHJcbiAgICAgIC8vICAgICAgICAgICB9LFxyXG4gICAgICAvLyAgICAgICAgICAgY2FjaGVhYmxlUmVzcG9uc2U6IHtcclxuICAgICAgLy8gICAgICAgICAgICAgc3RhdHVzZXM6IFsyMDBdXHJcbiAgICAgIC8vICAgICAgICAgICB9XHJcbiAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAvLyAgICAgICB9XHJcbiAgICAgIC8vICAgICBdXHJcbiAgICAgIC8vICAgfSxcclxuICAgICAgLy8gICBkZXZPcHRpb25zOiB7XHJcbiAgICAgIC8vICAgICBlbmFibGVkOiB0cnVlXHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9KSxcclxuICAgIF0sXHJcbiAgICByZXNvbHZlOiB7XHJcbiAgICAgIC8vIGh0dHBzOi8vY24udml0ZWpzLmRldi9jb25maWcvI3Jlc29sdmUtYWxpYXNcclxuICAgICAgYWxpYXM6IHtcclxuICAgICAgICAvLyBcdThCQkVcdTdGNkVcdThERUZcdTVGODRcclxuICAgICAgICAnfic6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLycpLFxyXG4gICAgICAgIC8vIFx1OEJCRVx1N0Y2RVx1NTIyQlx1NTQwRFxyXG4gICAgICAgICdAJzogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjJyksXHJcbiAgICAgICAgJ0BwbHVnaW5zJzogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjL3BsdWdpbnMnKSxcclxuICAgICAgICAnQHJvdXRlcic6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3NyYy9yb3V0ZXInKSxcclxuICAgICAgfSxcclxuICAgICAgLy8gaHR0cHM6Ly9jbi52aXRlanMuZGV2L2NvbmZpZy8jcmVzb2x2ZS1leHRlbnNpb25zXHJcbiAgICAgIGV4dGVuc2lvbnM6IFsnLm1qcycsICcuanMnLCAnLnRzJywgJy5qc3gnLCAnLnRzeCcsICcuanNvbicsICcudnVlJ11cclxuICAgIH0sXHJcbiAgICAvLyB2aXRlIFx1NzZGOFx1NTE3M1x1OTE0RFx1N0Y2RVxyXG4gICAgc2VydmVyOiB7XHJcbiAgICAgIHBvcnQ6IDgwLFxyXG4gICAgICBob3N0OiB0cnVlLFxyXG4gICAgICBvcGVuOiB0cnVlLFxyXG4gICAgICBwcm94eToge1xyXG4gICAgICAgIC8vIGh0dHBzOi8vY24udml0ZWpzLmRldi9jb25maWcvI3NlcnZlci1wcm94eVxyXG4gICAgICAgICcvZGV2LWFwaSc6IHtcclxuICAgICAgICAgIHRhcmdldDogJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MCcsXHJcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXHJcbiAgICAgICAgICByZXdyaXRlOiAocCkgPT4gcC5yZXBsYWNlKC9eXFwvZGV2LWFwaS8sICcnKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8vZml4OmVycm9yOnN0ZGluPjo3MzU2OjE6IHdhcm5pbmc6IFwiQGNoYXJzZXRcIiBtdXN0IGJlIHRoZSBmaXJzdCBydWxlIGluIHRoZSBmaWxlXHJcbiAgICBjc3M6IHtcclxuICAgICAgLy8gXHU4OUUzXHU1MUIzc2NzcyBcdTYyQTVcdTk1MTlcclxuICAgICAgcHJlcHJvY2Vzc29yT3B0aW9uczoge1xyXG4gICAgICAgIHNjc3M6IHtcclxuICAgICAgICAgIHNpbGVuY2VEZXByZWNhdGlvbnM6IFsnbGVnYWN5LWpzLWFwaSddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIFxyXG4gICAgICBwb3N0Y3NzOiB7XHJcbiAgICAgICAgcGx1Z2luczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwb3N0Y3NzUGx1Z2luOiAnaW50ZXJuYWw6Y2hhcnNldC1yZW1vdmFsJyxcclxuICAgICAgICAgICAgQXRSdWxlOiB7XHJcbiAgICAgICAgICAgICAgY2hhcnNldDogKGF0UnVsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGF0UnVsZS5uYW1lID09PSAnY2hhcnNldCcpIHtcclxuICAgICAgICAgICAgICAgICAgYXRSdWxlLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSlcclxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvYTEtNi9EZXNrdG9wL2NvZGUvaW50ZXJuZXQtaG9zcGl0YWwtYmFja3N0YWdlL3ZpdGUvcGx1Z2luc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL2ExLTYvRGVza3RvcC9jb2RlL2ludGVybmV0LWhvc3BpdGFsLWJhY2tzdGFnZS92aXRlL3BsdWdpbnMvaW5kZXguanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL2ExLTYvRGVza3RvcC9jb2RlL2ludGVybmV0LWhvc3BpdGFsLWJhY2tzdGFnZS92aXRlL3BsdWdpbnMvaW5kZXguanNcIjtpbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZSdcclxuXHJcbmltcG9ydCBjcmVhdGVBdXRvSW1wb3J0IGZyb20gJy4vYXV0by1pbXBvcnQnXHJcbmltcG9ydCBjcmVhdGVTdmdJY29uIGZyb20gJy4vc3ZnLWljb24nXHJcbmltcG9ydCBjcmVhdGVDb21wcmVzc2lvbiBmcm9tICcuL2NvbXByZXNzaW9uJ1xyXG5pbXBvcnQgY3JlYXRlU2V0dXBFeHRlbmQgZnJvbSAnLi9zZXR1cC1leHRlbmQnXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVWaXRlUGx1Z2lucyh2aXRlRW52LCBpc0J1aWxkID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IHZpdGVQbHVnaW5zID0gW3Z1ZSgpXVxyXG4gICAgdml0ZVBsdWdpbnMucHVzaChjcmVhdGVBdXRvSW1wb3J0KCkpXHJcblx0dml0ZVBsdWdpbnMucHVzaChjcmVhdGVTZXR1cEV4dGVuZCgpKVxyXG4gICAgdml0ZVBsdWdpbnMucHVzaChjcmVhdGVTdmdJY29uKGlzQnVpbGQpKVxyXG5cdGlzQnVpbGQgJiYgdml0ZVBsdWdpbnMucHVzaCguLi5jcmVhdGVDb21wcmVzc2lvbih2aXRlRW52KSlcclxuICAgIHJldHVybiB2aXRlUGx1Z2luc1xyXG59XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL1VzZXJzL2ExLTYvRGVza3RvcC9jb2RlL2ludGVybmV0LWhvc3BpdGFsLWJhY2tzdGFnZS92aXRlL3BsdWdpbnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9hMS02L0Rlc2t0b3AvY29kZS9pbnRlcm5ldC1ob3NwaXRhbC1iYWNrc3RhZ2Uvdml0ZS9wbHVnaW5zL2F1dG8taW1wb3J0LmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9hMS02L0Rlc2t0b3AvY29kZS9pbnRlcm5ldC1ob3NwaXRhbC1iYWNrc3RhZ2Uvdml0ZS9wbHVnaW5zL2F1dG8taW1wb3J0LmpzXCI7aW1wb3J0IGF1dG9JbXBvcnQgZnJvbSAndW5wbHVnaW4tYXV0by1pbXBvcnQvdml0ZSdcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUF1dG9JbXBvcnQoKSB7XHJcbiAgICByZXR1cm4gYXV0b0ltcG9ydCh7XHJcbiAgICAgICAgaW1wb3J0czogW1xyXG4gICAgICAgICAgICAndnVlJyxcclxuICAgICAgICAgICAgJ3Z1ZS1yb3V0ZXInLFxyXG4gICAgICAgICAgICAncGluaWEnXHJcbiAgICAgICAgXSxcclxuICAgICAgICBkdHM6IGZhbHNlXHJcbiAgICB9KVxyXG59XHJcblxyXG5cclxuXHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL1VzZXJzL2ExLTYvRGVza3RvcC9jb2RlL2ludGVybmV0LWhvc3BpdGFsLWJhY2tzdGFnZS92aXRlL3BsdWdpbnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9hMS02L0Rlc2t0b3AvY29kZS9pbnRlcm5ldC1ob3NwaXRhbC1iYWNrc3RhZ2Uvdml0ZS9wbHVnaW5zL3N2Zy1pY29uLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9hMS02L0Rlc2t0b3AvY29kZS9pbnRlcm5ldC1ob3NwaXRhbC1iYWNrc3RhZ2Uvdml0ZS9wbHVnaW5zL3N2Zy1pY29uLmpzXCI7aW1wb3J0IHsgY3JlYXRlU3ZnSWNvbnNQbHVnaW4gfSBmcm9tICd2aXRlLXBsdWdpbi1zdmctaWNvbnMnXHJcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVTdmdJY29uKGlzQnVpbGQpIHtcclxuICAgIHJldHVybiBjcmVhdGVTdmdJY29uc1BsdWdpbih7XHJcblx0XHRpY29uRGlyczogW3BhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCAnc3JjL2Fzc2V0cy9pY29ucy9zdmcnKV0sXHJcbiAgICAgICAgc3ltYm9sSWQ6ICdpY29uLVtkaXJdLVtuYW1lXScsXHJcbiAgICAgICAgc3Znb09wdGlvbnM6IGlzQnVpbGRcclxuICAgIH0pXHJcbn1cclxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvYTEtNi9EZXNrdG9wL2NvZGUvaW50ZXJuZXQtaG9zcGl0YWwtYmFja3N0YWdlL3ZpdGUvcGx1Z2luc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL2ExLTYvRGVza3RvcC9jb2RlL2ludGVybmV0LWhvc3BpdGFsLWJhY2tzdGFnZS92aXRlL3BsdWdpbnMvY29tcHJlc3Npb24uanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL2ExLTYvRGVza3RvcC9jb2RlL2ludGVybmV0LWhvc3BpdGFsLWJhY2tzdGFnZS92aXRlL3BsdWdpbnMvY29tcHJlc3Npb24uanNcIjtpbXBvcnQgY29tcHJlc3Npb24gZnJvbSAndml0ZS1wbHVnaW4tY29tcHJlc3Npb24nXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVDb21wcmVzc2lvbihlbnYpIHtcclxuICAgIGNvbnN0IHsgVklURV9CVUlMRF9DT01QUkVTUyB9ID0gZW52XHJcbiAgICBjb25zdCBwbHVnaW4gPSBbXVxyXG4gICAgaWYgKFZJVEVfQlVJTERfQ09NUFJFU1MpIHtcclxuICAgICAgICBjb25zdCBjb21wcmVzc0xpc3QgPSBWSVRFX0JVSUxEX0NPTVBSRVNTLnNwbGl0KCcsJylcclxuICAgICAgICBpZiAoY29tcHJlc3NMaXN0LmluY2x1ZGVzKCdnemlwJykpIHtcclxuICAgICAgICAgICAgLy8gaHR0cDovL2RvYy5ydW95aS52aXAvcnVveWktdnVlL290aGVyL2ZhcS5odG1sI1x1NEY3Rlx1NzUyOGd6aXBcdTg5RTNcdTUzOEJcdTdGMjlcdTk3NTlcdTYwMDFcdTY1ODdcdTRFRjZcclxuICAgICAgICAgICAgcGx1Z2luLnB1c2goXHJcbiAgICAgICAgICAgICAgICBjb21wcmVzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgZXh0OiAnLmd6JyxcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGVPcmlnaW5GaWxlOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY29tcHJlc3NMaXN0LmluY2x1ZGVzKCdicm90bGknKSkge1xyXG4gICAgICAgICAgICBwbHVnaW4ucHVzaChcclxuICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uKHtcclxuICAgICAgICAgICAgICAgICAgICBleHQ6ICcuYnInLFxyXG4gICAgICAgICAgICAgICAgICAgIGFsZ29yaXRobTogJ2Jyb3RsaUNvbXByZXNzJyxcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGVPcmlnaW5GaWxlOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwbHVnaW5cclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9hMS02L0Rlc2t0b3AvY29kZS9pbnRlcm5ldC1ob3NwaXRhbC1iYWNrc3RhZ2Uvdml0ZS9wbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvYTEtNi9EZXNrdG9wL2NvZGUvaW50ZXJuZXQtaG9zcGl0YWwtYmFja3N0YWdlL3ZpdGUvcGx1Z2lucy9zZXR1cC1leHRlbmQuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL2ExLTYvRGVza3RvcC9jb2RlL2ludGVybmV0LWhvc3BpdGFsLWJhY2tzdGFnZS92aXRlL3BsdWdpbnMvc2V0dXAtZXh0ZW5kLmpzXCI7aW1wb3J0IHNldHVwRXh0ZW5kIGZyb20gJ3VucGx1Z2luLXZ1ZS1zZXR1cC1leHRlbmQtcGx1cy92aXRlJ1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlU2V0dXBFeHRlbmQoKSB7XHJcbiAgICByZXR1cm4gc2V0dXBFeHRlbmQoe30pXHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUE4VSxTQUFTLGNBQWMsZUFBZTtBQUNwWCxPQUFPQSxXQUFVOzs7QUNEd1YsT0FBTyxTQUFTOzs7QUNBSixPQUFPLGdCQUFnQjtBQUU3WCxTQUFSLG1CQUFvQztBQUN2QyxTQUFPLFdBQVc7QUFBQSxJQUNkLFNBQVM7QUFBQSxNQUNMO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUNKO0FBQUEsSUFDQSxLQUFLO0FBQUEsRUFDVCxDQUFDO0FBQ0w7OztBQ1grVyxTQUFTLDRCQUE0QjtBQUNwWixPQUFPLFVBQVU7QUFFRixTQUFSLGNBQStCLFNBQVM7QUFDM0MsU0FBTyxxQkFBcUI7QUFBQSxJQUM5QixVQUFVLENBQUMsS0FBSyxRQUFRLFFBQVEsSUFBSSxHQUFHLHNCQUFzQixDQUFDO0FBQUEsSUFDeEQsVUFBVTtBQUFBLElBQ1YsYUFBYTtBQUFBLEVBQ2pCLENBQUM7QUFDTDs7O0FDVHFYLE9BQU8saUJBQWlCO0FBRTlYLFNBQVIsa0JBQW1DLEtBQUs7QUFDM0MsUUFBTSxFQUFFLG9CQUFvQixJQUFJO0FBQ2hDLFFBQU0sU0FBUyxDQUFDO0FBQ2hCLE1BQUkscUJBQXFCO0FBQ3JCLFVBQU0sZUFBZSxvQkFBb0IsTUFBTSxHQUFHO0FBQ2xELFFBQUksYUFBYSxT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
